/**
  ******************************************************************************
  * @file    usart.h
  * @brief   This file contains all the function prototypes for
  *          the usart.c file
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by ST under Ultimate Liberty license
  * SLA0044, the "License"; You may not use this file except in compliance with
  * the License. You may obtain a copy of the License at:
  *                             www.st.com/SLA0044
  *
  ******************************************************************************
  */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __USART_H__
#define __USART_H__

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "main.h"

/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

extern UART_HandleTypeDef huart4;
extern UART_HandleTypeDef huart5;
extern UART_HandleTypeDef huart1;

/* USER CODE BEGIN Private defines */

/* USER CODE END Private defines */

void MX_UART4_Init(void);

void MX_UART5_Init(void);

void MX_USART1_UART_Init(void);

/* USER CODE BEGIN Prototypes */
#define UART_RX_BUFF_SIZE 256

typedef struct
{
    uint8_t  RX_flag:1;        //IDLE receive flag
    uint16_t RX_Size;          //receive length
    uint8_t  RX_pData[UART_RX_BUFF_SIZE]; //DMA receive buffer
}USART_RECEIVETYPE;

/* USER CODE END Private defines */
extern USART_RECEIVETYPE Uart1;
extern USART_RECEIVETYPE Uart5;
extern void lcd_printf(const char *format, ...);
/* USER CODE END Prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __USART_H__ */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
